Add missing MSI related part in public pciif.h
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 13 May 2008 08:21:28 +0000 (09:21 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 13 May 2008 08:21:28 +0000 (09:21 +0100)
Signed-off-by: Shan Haitao <Haitao.shan@intel.com>
xen/include/public/io/pciif.h

index 42dcfdb1ab733e943120f483566e1ca0649c8821..62147ad27d2b71fe72c20c1187c58ec97c995017 100644 (file)
 /* xen_pci_op commands */
 #define XEN_PCI_OP_conf_read    (0)
 #define XEN_PCI_OP_conf_write   (1)
+#define XEN_PCI_OP_enable_msi   (2)
+#define XEN_PCI_OP_disable_msi  (3)
+#define XEN_PCI_OP_enable_msix  (4)
+#define XEN_PCI_OP_disable_msix (5)
 
 /* xen_pci_op error numbers */
 #define XEN_PCI_ERR_success          (0)
 /* XEN_PCI_ERR_op_failed - backend failed to complete the operation */
 #define XEN_PCI_ERR_op_failed       (-5)
 
+/*
+ * it should be PAGE_SIZE-sizeof(struct xen_pci_op))/sizeof(struct msix_entry))
+ * Should not exceed 128
+ */
+#define SH_INFO_MAX_VEC     128
+
 struct xen_pci_op {
     /* IN: what action to perform: XEN_PCI_OP_* */
     uint32_t cmd;
@@ -62,6 +72,10 @@ struct xen_pci_op {
 
     /* IN/OUT: Contains the result after a READ or the value to WRITE */
     uint32_t value;
+    /* IN: Contains extra infor for this operation */
+    uint32_t info;
+    /*IN:  param for msi-x */
+    struct msix_entry msix_entries[SH_INFO_MAX_VEC];
 };
 
 struct xen_pci_sharedinfo {